////https://www.luogu.com.cn/problem/P1596
//
//#include<iostream>
//#include<queue>
//using namespace std;
//int n, m;
//const int N = 110;
//char x[N][N];
//int y[N][N];
//typedef pair<int, int> node;
//
//int dx[] = { 0,0,1,1,1,-1,-1,-1 };
//int dy[] = { 1,-1,-1,0,1,-1,0,1 };
//
//void bfs(int a, int b)
//{
//	queue<node> q;
//	q.push({ a,b });
//	y[a][b] = 1;
//	while (!q.empty())
//	{
//		auto t = q.front(); q.pop();
//		int tx = t.first, ty = t.second;
//		for (int i = 0; i < 8; i++)
//		{
//			int nx = tx + dx[i], ny = ty + dy[i];
//			if (nx < 0 || nx >= n || ny < 0 || ny >= m || y[nx][ny] || x[nx][ny] != 'W') continue;
//			q.push({ nx,ny });
//			y[nx][ny] = 1;
//		}
//	}
//}
//
//int main()
//{
//	cin >> n >> m;
//	for (int i = 0; i < n; i++)
//		for (int j = 0; j < m; j++)
//			cin >> x[i][j];
//	int ret = 0;
//	for(int i=0;i<n;i++)
//	{
//		for (int j = 0; j < m; j++)
//		{
//			if (x[i][j] == 'W' && y[i][j] == 0)
//			{
//				bfs(i, j);
//				ret++;
//			}
//		}
//	}
//	cout << ret << endl;
//	return 0;
//}